home *** CD-ROM | disk | FTP | other *** search
/ Joystick Magazine 1996 May / cd joy 71No13.iso / pc / demos / eurosoc / source / network.h < prev    next >
Text File  |  1995-09-04  |  2KB  |  94 lines

  1.  
  2. #define TRUE 1
  3. #define FALSE 0
  4.  
  5. enum {
  6.     NET_ONLINE,
  7.     NET_GO,
  8.     NET_MESSAGE,
  9.     NET_QUIT,
  10.     NET_SINGLE,
  11.     NET_MULTIPLE,
  12.     NET_READY,
  13.     NET_SEED,
  14.     NET_PAUSE,
  15.     NET_INFO
  16.     };
  17.  
  18. typedef struct        // Header packet
  19. {
  20.     int dwSequence; // reserved by NetNow!
  21.     short    player;     // player
  22.     short type;         // type
  23.     int frame;         // frame number when issued (not always used)
  24. }    packet_header;
  25.  
  26. typedef struct        // Setup info packet
  27. {
  28.     _NETNOW_NODE_ADDR address;    //node received info from.
  29.     int Team_A,Team_B;
  30.     int Team;
  31.     int Player;
  32. }    packet_info;
  33.  
  34. typedef struct        // Input data packet
  35. {
  36.     short x,y;        // 15 bits of signed directional data + lowest bits for two buttons
  37. }    packet_single;
  38.  
  39. typedef struct        // Multiple input data packet
  40. {
  41.     packet_single inp[20];
  42. }    packet_multiple;
  43.  
  44. typedef struct        // Message packet
  45. {
  46.     char mes[12];
  47. }    packet_data;
  48.  
  49. typedef struct        // Random seed packet
  50. {
  51.     int    num;
  52. }    packet_seed;
  53.  
  54. typedef    struct    // Pause key packet
  55. {
  56.     int    paused;
  57. }    packet_pause;
  58.  
  59. extern packet_header    in_header;
  60. extern packet_data    in_data[8];
  61. extern short            wConsoleNode;
  62. extern volatile int    writeptr,readptr;
  63. extern volatile        packet_multiple copy_multiple[512];
  64. extern short             master;
  65. extern volatile int    active_nodes;
  66. extern volatile int    net_quit;
  67.  
  68. void    __far nethandler(void);
  69.  
  70. void    Initialise_Network();
  71. void    send_quit();
  72. void    send_mes(char *m);
  73. int    receive_mes();
  74. void    close_network();
  75.  
  76. void    send_seed(int num);
  77. void    send_ready();
  78. void    send_single(int plyr);
  79. void    send_multiple();
  80. void    receive_multiple();
  81. void    receive_all_singles();
  82. void    send_name(char *m);
  83. void    TransmitInit(void);
  84. int    FindNodes();
  85. void    send_pause();
  86. void    transmitpausetoslaves(void);
  87.  
  88. void    NetInitialisation();
  89. void    FoundNodes();
  90. void    SendNetDone();
  91. void    SendPlayerInfo();
  92.  
  93. 
  94.